A display panel driver driving a display panel (e.g. a liquid crystal display panel) often has the function of performing image scaling to enlarge an image. Such function may be used for generating pixel data matching the display panel resolution from input image data externally fed to the display panel driver, when the input image data do not match the display panel resolution.
The bilinear method is one known method for image scaling. In the bilinear method, pixel data of an output image (an enlarged or reduced image) are calculated through linear interpolation of pixel data of input image. Image scaling through a bilinear method typically involves determining the position of each pixel of the output image in accordance with the enlargement/reduction factor and calculating pixel data of each pixel (more typically, including data indicative of the grayscale levels of the red (R), green (G) and blue (B) colors) through linear interpolation of pixel data of four pixels of the input image closest to each pixel of the output image. The weights given to the four closest pixels of the input image in the linear interpolation are determined on the basis of the position of each pixel of the output image.
In an integrated circuit (IC) such as a display panel driver, image scaling is often achieved by a hardware circuit. The configuration in which image scaling is achieved by a hardware circuit is superior in terms of the processing speed, and suitable especially for a system which uses real-time image processing, such as a display panel driver.
One issue of hardware-based image scaling is the feeding of interpolation coefficients. When performing image scaling with a scaling factor of M/N (that is, generating image data of M×M pixels of an output image from image data of N×N pixels of an input image), it is advantageous to determine the interpolation coefficients for each of M×M pixels of the output image, where M and N are positive integers selected so that M/N is an irreducible fraction. In other words, image scaling with a scaling factor of M/N uses feeding M×M sets of interpolation coefficients to an image scaling circuit. This undesirably increases hardware resources necessary for feeding interpolation coefficients. When an ROM (read only memory) is used to store necessary interpolation coefficients, for example, the circuit size of the ROM is undesirably increased.
Accordingly, there is a technological need for reducing hardware resources used for feeding interpolation coefficients.
It should be noted that image scaling is disclosed in patent documents listed below:
Japanese Patent Application Publication No. H02-176873 A discloses a technique in which interpolation functions and enlargement factors are stored in an ROM.
Japanese Patent Application Publication No. H02-234579 A discloses a technique which involves calculating pixel data of a midpoint pixel positioned at the midpoint between adjacent two pixels from pixel data of the adjacent two pixels and pixels near the two pixels, and calculating pixel data of a new pixel positioned at a desired position between the adjacent two pixels through interpolation using the pixel data of the midpoint pixel.
International Publication No. WO 2012/114574 A1 discloses a technique in which pixel data of each pixel of an enlarged image are calculated through interpolation of pixel data of multiple pixels of a low-resolution image. In the technique disclosed in this international publication, interpolation coefficients given to pixel data of a pixel highly-correlated to a target pixel are increased to achieve appropriate interpolation independent of the shape of an edge included in the image.
Japanese Patent Application Publication No. 2011-146888 A discloses a technique which involves calculating a pixel change rate from pixel data of three neighbor pixels including two adjacent pixels in an original image for a target pixel of an enlarged image, and performing interpolation using the calculated pixel change rate.
Japanese Patent Application Publication No. H08-315129 A discloses a technique which achieves image enlargement through quadrature transform into the frequency domain.
Japanese Patent Application Publication No. H08-18769 A discloses image enlargement processing for generating N×N pixels around each pixel of an original image. In the technique disclosed in this patent document, pixel data of pixels positioned on the left, right, top and bottom of each pixel of the original image are determined as equal to pixel data of each pixel of the original image, and image data of pixels positioned obliquely to each pixel of the original image are determined as the average of pixel data of pixels around each pixel of the original image.
Japanese Patent Application Publication No. H04-156690 A discloses image enlargement processing through affine transformation.
Japanese Patent Application Publication No. S62-282377 A discloses a technique which uses a shift register as a line buffer and calculates interpolation coefficients through dividing an address by an enlargement factor.